package vue;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.*;
import controleur.AffichageListener;
import controleur.ListeAlbumsListener;

/**
 * 
 * @author Plancq Charlotte, Lanvin Kévin, Darras Raphael
 *
 *
 */
public class AffichageCollection extends JPanel{
	private static final long serialVersionUID = 1L;

	private AffichageGlobal ag;
	private JLabel label2;

	private JButton modifier, ajout,supprimerAlbum,supprimerCollection;
	private JScrollPane listeAlbum;
	private JList albums;


	public AffichageCollection (AffichageGlobal a) {
		this.ag=a;
		albums=new JList(ag.getTraitement().getCollections().getElementAt(ag.getGauche().getList().getSelectedIndex()));
		label2 = new JLabel("Nombre d'albums : "+ag.getTraitement().getCollections().getElementAt(ag.getGauche().getList().getSelectedIndex()).getSize());

		modifier = new JButton("Modifier le nom de la collection");
		modifier.addActionListener(new AffichageListener(this));

		ajout = new JButton("Ajouter un album a la collection");
		ajout.addActionListener(new AffichageListener(this));

		supprimerAlbum = new JButton("Supprimer un album a la collection");
		supprimerAlbum.addActionListener(new AffichageListener(this));

		supprimerCollection = new JButton("Supprimer la collection");
		supprimerCollection.addActionListener(new AffichageListener(this));

		albums.setVisibleRowCount(15);
		albums.setBackground(new Color(214,217,223));
		albums.setName("albums");
		albums.setPreferredSize(new Dimension(200,300));
		albums.addListSelectionListener(new ListeAlbumsListener(this));

		listeAlbum = new JScrollPane(albums);
		listeAlbum.setBorder(BorderFactory.createTitledBorder("Albums dans "+ag.getTraitement().getCollections().getElementAt(ag.getGauche().getList().getSelectedIndex()).getNom()));
		
		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

		JPanel ligne1 = new JPanel();
		ligne1.add(modifier);
		ligne1.add(Box.createHorizontalStrut(77));
		ligne1.add(supprimerCollection);
		
		JPanel ligne2 = new JPanel();
		ajout.setAlignmentX(LEFT_ALIGNMENT);
		ligne2.add(ajout);
		ligne2.add(Box.createHorizontalStrut(10));
		supprimerAlbum.setAlignmentX(RIGHT_ALIGNMENT);
		ligne2.add(supprimerAlbum);
		
		add(listeAlbum);
		add(label2);
		add(Box.createVerticalStrut(80));
		add(ligne2);
		add(Box.createVerticalStrut(40));
		add(ligne1);
		add(Box.createGlue());
		update();
	}


	public JList getList(){
		return this.albums;
	}
	public AffichageGlobal getAG(){
		return this.ag;
	}
	
	public void update() {
		albums.clearSelection();
		albums.setListData(ag.getTraitement().getCollections().getElementAt(ag.getGauche().getList().getSelectedIndex()).getAlbums().toArray());
		albums.invalidate();albums.validate();
		ag.setCentre(this);
	}


}
